/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package biblio;

import java.util.TimerTask;

/**
 *
 * @author Josele
 */
public class Estudiante extends Thread{
    private Monitor Este;
    static int lleno;
    //public static int lleno=0;
   // private Object recepcionista;
    
    //int lleno=0;
    
    public Estudiante(Monitor este){
        this.Este=este;
    }

    Estudiante() {
        
    }
    public void run(){
        int i;
        int acum=0,llegada=0,acum2=0;
        long s = System.currentTimeMillis(),to,d;
      for(;;){
        //
        Este.estud();
        acum=acum+1;//acumula el tiempo
        //acum2=acum2+Datos.tiempo_estudiante;//acumula el tiempo
        llegada=llegada+Datos.tiempo_estudiante;//tiempo de llegada de un estudiante
        Datos.tim_habitacion[Datos.Estudiante_que_sale] =  (llegada+Datos.tiempo_habitacion);
       // lleno++;
        for (int k=0; k<=(Datos.Habitaciones.length)-1;k++){
               
           //    if(acum-llegada==0){
               Datos.Habitaciones[Datos.Estudiante_que_sale] = 0;       
             //  }
              }
        
        while (Datos.Estudiante_que_entra == Datos.Estudiante_que_sale);
        int resutado=acum-llegada;
        //if(acum2-Datos.tim_habitacion[Datos.Estudiante_que_sale]==0){
               Datos.Habitaciones[Datos.Estudiante_que_sale] = 0;       
          //     }
        System.out.print("\nEstudiante " + Datos.Estudiante_que_sale + " tiempo dentro de la habitación "+Datos.tiempo_habitacion);
//            System.out.println(" lleno "+lleno);
        for (int j=0; j<=(Datos.Habitaciones.length)-1;j++)
        {   
            System.out.print("["+Datos.Habitaciones[j]+"] ");
            
          }
        Datos.Estudiante_que_sale = (Datos.Estudiante_que_sale+1)%Datos.Numero_de_habitaciones;    
       // Thread.yield();
        d=System.currentTimeMillis();
          Biblio.to=(d-s)/1000;
          if(Biblio.to>=10){
                  break;
                 }                 
      }
      for(;;){
          while (Datos.Estudiante_que_entra == Datos.Estudiante_que_sale);
          Datos.Habitaciones[Datos.Estudiante_que_sale] = 1;
         if(Datos.Estudiante_que_sale<=5){
                  break;
         }
         Datos.Estudiante_que_sale = (Datos.Estudiante_que_sale+1)%Datos.Numero_de_habitaciones;    
      }
    }
}
